package vn.edu.ptithcm.pim.service;

import vn.edu.ptithcm.pim.dom.EmployeeFunctionInProject;
import vn.edu.ptithcm.pim.dom.EmployeeFunctionInProjectId;

import java.util.List;

import vn.edu.ptithcm.pim.dao.EmployeeFunctionInProjectDao;

@SuppressWarnings({ "rawtypes" })
public class EmployeeFunctionInProjectService {
	private EmployeeFunctionInProjectDao employeeFunctionInProjectDao;

	public EmployeeFunctionInProjectDao getEmployeeFunctionInProjectDao() {
		return employeeFunctionInProjectDao;
	}

	public void setEmployeeFunctionInProjectDao(
			EmployeeFunctionInProjectDao employeeFunctionInProjectDao) {
		this.employeeFunctionInProjectDao = employeeFunctionInProjectDao;
	}

	public void save(EmployeeFunctionInProject employeeFunctionInProject) {
		employeeFunctionInProjectDao.save(employeeFunctionInProject);
	}

	public void saveOrUpdate(EmployeeFunctionInProject employeeFunctionInProject) {
		employeeFunctionInProjectDao.saveOrUpdate(employeeFunctionInProject);
	}

	public void lock(EmployeeFunctionInProject employeeFunctionInProject) {
		employeeFunctionInProjectDao.lock(employeeFunctionInProject);
	}

	public void delete(EmployeeFunctionInProject employeeFunctionInProject) {
		employeeFunctionInProjectDao.delete(employeeFunctionInProject);
	}

	public EmployeeFunctionInProject merge(
			EmployeeFunctionInProject employeeFunctionInProject) {
		return employeeFunctionInProjectDao.merge(employeeFunctionInProject);
	}

	public EmployeeFunctionInProject findById(EmployeeFunctionInProjectId id) {
		return employeeFunctionInProjectDao.findById(id);
	}

	public List findByExample(
			EmployeeFunctionInProject employeeFunctionInProject) {
		return employeeFunctionInProjectDao
				.findByExample(employeeFunctionInProject);
	}

	public List findByProjectId(Long projectId) {
		return employeeFunctionInProjectDao.findByProjectId(projectId);
	}

	public List getProjectsByVisa(String visa) {
		return employeeFunctionInProjectDao.getProjectsByVisa(visa);
	}

	public List getBySearchKey(Long projectId, Long rankId, Long diplomaId,
			String language, String searchKey) {
		return employeeFunctionInProjectDao.getBySearchKey(projectId, rankId,
				diplomaId, language, searchKey);
	}

	public void removeEmployeeOutOfProject(Long projectId, Long employeeId) {
		employeeFunctionInProjectDao.removeEmployeeOutOfProject(projectId,
				employeeId);
	}

	public EmployeeFunctionInProject getGroupLeaderFunction(Long projectId) {
		return employeeFunctionInProjectDao.getGroupLeaderFunction(projectId);
	}
}
